Dynamically adaptable communications processor architecture and associated methods

ABSTRACT

A dynamically adaptable communications processor includes a memory element, which includes executable content, and a control element, coupled with the memory element, that selectively implements the executable content to modify the dynamically adaptable communications processor to process data based, at least in part, on a type of communication channel from which the data is received.

TECHNICAL FIELD

[0001] Embodiments of the invention are generally related to the fieldof data networking and, in particular, to a dynamically adaptablecommunications processor and associated methods.

BACKGROUND

[0002] Data networking is a term colloquially applied to anyarchitecture wherein electronic devices (e.g., computer systems,communication devices) are communicatively coupled to one anotherthrough a network architecture. The network architecture is typicallycomprised of a number of network devices, e.g., routers, switches, andhubs, which serve to route data packets (sometimes colloquially referredto as datagrams) between electronic devices.

[0003] Those skilled in the art will appreciate that there are manydifferent types of networks and an associated number of communicationprotocols through which such devices communicate. Typically, a networkdevice is designed to operate in one of the number of networkingenvironments and, in this regard, will include a communicationsprocessor dedicated to processing data packets in accordance with asingle communication protocol. With the acceptance and proliferation ofmultiple network types and associated protocols, it has become desirableto create a network device that functions in multiple networkarchitectures and, in this regard, with multiple network protocols.

[0004] A conventional approach to such multi-network networking devicesgenerally requires that the network device be endowed with multiplecommunications processors, i.e., one each for each of the communicationprotocols to be supported by the network device. Employing multiplecommunication devices within such a network device can, however, greatlyincrease the cost of the network device. Moreover, such a solution,which is fundamentally based in hardware, is not extensible toaccommodate future network architectures and/or communication protocols.

[0005] Another, more recent, approach to such a multi-network networkingdevice is to fabricate a communications processor with the circuitrynecessary to support a predetermined number of communication protocols.Again, such an approach is rather costly, as the fabricated device doesnot really reduce the amount of circuitry necessary to support thepre-determined number of communication protocols, but merely integratesit within a single package. Moreover, as above, inasmuch as the solutionis fundamentally based on hardware, it is not extensible to accommodatenewly developed networking architectures or communication protocols.

BRIEF DESCRIPTION OF THE DRAWINGS

[0006] Embodiments of the invention are illustrated by way of example,and not by way of limitation, in the figures of the accompanyingdrawings in which like reference numerals refer to similar elements andin which:

[0007]FIG. 1 is a block diagram illustrating an example data networkwithin which embodiments of the invention may be practiced;

[0008]FIG. 2 is a block diagram illustrating one example embodiment of adynamically adaptable communications processor architecture inaccordance with the teachings of an embodiment of the invention;

[0009]FIG. 3 is a graphical illustration of one example embodiment ofconfiguration memory in accordance with the teachings of an embodimentof the invention;

[0010]FIG. 4 is a graphical illustration of one example embodiment ofcontext memory in accordance with the teachings of an embodiment of theinvention;

[0011]FIG. 5 is a graphical illustration of one example embodiment ofoperation output memory in accordance with the teachings of anembodiment of the invention;

[0012]FIG. 6 and FIG. 7 are a flow chart illustrating one exampleembodiment of a method of a communications processor dynamicallyadapting to any of a plurality of different communication protocols, inaccordance with the teachings of an embodiment of the invention;

[0013]FIG. 8 is a block diagram illustrating one example embodiment of astorage medium comprising a plurality of executable instructions which,when executed, cause an accessing machine to implement one or moreaspects of the innovative dynamically adaptable communications processorof the invention, in accordance with an alternate embodiment of theinvention.

DETAILED DESCRIPTION

[0014] A dynamically adaptable communications processor (DACP) andassociated methods are described. In the following description, forpurposes of explanation, numerous specific details are set forth. Itwill be apparent, however, to one skilled in the art that embodiments ofthe invention can be practiced without these specific details. In otherinstances, structures and devices are shown in block diagram form inorder to avoid obscuring the understanding of this description.

[0015] Reference in the foregoing specification to “one embodiment” or“an embodiment” means that a particular feature, structure, orcharacteristic described in connection with the embodiment is includedin at least one embodiment of the invention. The appearances of thephrase “in one embodiment” in various places in the specification arenot necessarily all referring to the same embodiment.

[0016] According to one aspect of the invention, the DACP dynamicallyreconfigures itself to process data packets in accordance with any of anumber of communication protocols. In this regard, a host deviceintegrated with the DACP may well be used in any of a number ofdisparate network architectures. Moreover, the DACP is extensible tosupport communication protocols and network architectures not yetdeveloped.

[0017] Example Operating Environment and Network Device

[0018]FIG. 1 is a block diagram illustrating an example data networkwithin which embodiments of the invention described herein may bepracticed. More particularly, in accordance with a first embodiment 100,network type 1 element 110, network type 2 element 120 through networktype N element 130 (where N represents any number of networkarchitectures) are coupled with a network device 102. There is norequirement or restriction regarding the number of network architecturesor the number of network elements that may be coupled with networkdevice 102. As shown, FIG. 1 depicts network device 102 as comprising anenhanced network interface (ENI) 104 incorporating a dynamicallyadaptable communications processor (DACP) in accordance with one exampleimplementation of the invention. As described in more detail below, theDACP reconfigures itself to process data packets in accordance with acommunication protocol associated with a selected one of a number ofchannels corresponding to any number of network architectures type 1,type 2, through type N.

[0019] As used herein, each of network type 1 element 110, network type2 element 120 through network type N element 130 may represent a widevariety of network elements known in the art such as, e.g., a desktopcomputing platform, a notebook computing platform, a handheld device(e.g., a personal digital assistant), a mobile communications device,and the like. In addition, each of network type 1 element 210, networktype 2 element 120 through network type N element 130 may represent awide variety of network devices known in the art such as, e.g., hubs,routers, switches, and the like, that may or may not include theteachings of the embodiments of the invention. Network type 1 element110, network type 2 element 120 through network type N element 130 areintended to represent such conventional devices currently known in theart. Accordingly, the architectural details of network type 1 element110, network type 2 element 120 through network type N element 130 neednot be described further.

[0020] As used herein, but for the integration of ENI 104 incorporatinga DACP as described more fully below, network device 102 is intended torepresent any of a number of network management devices (hub, switch,router, etc.). Accordingly, the architectural details of network device102, other than ENI 104, need not be described further.

[0021] Example Network Interface with Dynamically AdaptableCommunications Processor

[0022]FIG. 2 is a block diagram illustrating one example embodiment of adynamically adaptable communications processor architecture inaccordance with the teachings of an embodiment of the invention. FIG. 2provides a simplified block diagram of an example network interfaceincorporating the dynamically adaptable communications processor (DACP)of the present invention. In accordance with the example embodiment ofFIG. 2, ENI 200 (e.g., ENI 104) generally comprises I/O interface(s)202, I/O buffers 204 and one or more DACPs 206 to dynamicallycommunicate information among elements associated with any of a numberof network types.

[0023] I/O interface(s) 202 are intended to represent a wide variety ofhardware and software used to connect a network device with acommunication channel. I/O buffer(s) 204 are intended to represent anyof a wide variety of memory systems known in the art. According to oneimplementation, I/O buffer(s) 204 include receive data structure(s), orqueues, and transmit data structure(s). According to one exampleimplementation, network device 102 receives data packets from networktype 1 element 110, network type 2 element 120 through network type Nelement 130 via I/O interface(s) 202, and such data packets are storedin receive queues of I/O buffer(s) 204. DACP 206 receives data packetsfrom the receive queues, processes the data packets, and transmitsprocessed data packets to the transmit queues for transmission toanother network type 1 element 110, network type 2 element 120 throughnetwork type N element 130. It will be appreciated by those skilled inthe art that I/O buffer(s) 204 may be comprised of any of a number ofmany different types of physical memory/storage devices.

[0024] DACP 206 is depicted comprising control logic 210, memory system220 and algorithm-based processing engine 230. Those skilled in the artwill appreciate that memory system 220 may be located outside of DACP206, and that memory system 220 may be coupled with ENI 200 or networkdevice 102. Although depicted as a number of disparate functional items,those skilled in the art will appreciate that one or more of suchelements may well be combined into single functional entities.Alternatively, certain elements may be split into multiple functionalelements.

[0025] Control logic 210 controls the dynamic adaptability aspect ofDACP 206. In this regard, control logic 210 determines a communicationprotocol associated with a selected one of a number of channels coupledwith ENI 200 supplying a data packet. In accordance with one aspect ofthe invention, developed more fully below, having identified thecommunication protocol, control logic 210 retrieves configurationinformation corresponding to the communication protocol and configuresDACP 206 to process the received data packet in accordance with theidentified channel.

[0026] In connection with processing the data packet, control logic 210invokes an instance of algorithm-based processing engine 230. Accordingto one aspect of the invention, developed more fully below,algorithm-based processing engine 230 performs operations on the contentof data packets and selects outputs from the operations in order togenerate a processing parameter in accordance with the configuration ofDACP 206.

[0027] Control logic 210 is intended to represent any of a wide varietyof control logic known in the art such as, for example,microprocessor(s), microcontroller(s), programmable logic device(s)(PLD), field programmable gate arrays (FPGA), state machine(s) and thelike. Alternatively, control logic 210 may well be content (e.g.,executable instructions) which, when executed by a computing appliance,implement the control features described herein.

[0028] Memory system 220 is depicted comprising configuration memory222, context memory 224 and operation output memory 226. As used herein,memory system 220 is intended to represent any of a wide variety ofmemory systems known in the art. Those skilled in the art willappreciate that memory system 220 may well be comprised of any of anumber of many different types of physical memory/storage devices.

[0029] Configuration memory 222 includes configuration information for awide variety of disparate communication protocols, including, e.g.,asynchronous transfer mode (ATM), packet over synchronous opticalnetwork (POS) and generic framing procedure (GFP). While the details ofsuch communication protocols are not required to appreciate theteachings of embodiments of the invention, for a more completeunderstanding of such communication protocols, the reader is directedto, e.g., International Telecommunications Union TelecommunicationStandardization Sector (ITU-T), Recommendation 1.432.5, “B-ISDNUser-Network Interface—Physical Layer Specification: 25 600 Kbit/sOperation,” June 1997; Internet Engineering Task Force, Network WorkingGroup Request for Comments 2615, “PPP over SONET and SDH,” June 1999;ITU-T, Recommendation G.7041/Y.1303, “Generic Framing Procedure (GFP),”December 2001. Such references are incorporated herein by reference forall purposes.

[0030] According to one example implementation, each entry ofconfiguration memory 222 is associated with a particular communicationprotocol. As will be discussed more fully below, control logic 210,having determined the communication protocol associated with a channelsupplying a data packet, accesses configuration memory 222, retrievesconfiguration information corresponding to the communication protocoland configures DACP 206 to process the data packet.

[0031] Context memory 224 includes data corresponding to previouslyprocessed portions of a data packet. According to one exampleimplementation, each entry of context memory 224 is associated with aportion of a previously processed data packet received from a channel.As will be discussed more fully below, control logic 210 reads contextdata from context memory 224 in connection with processing a datapacket, part of which has been previously processed. In addition, aswill be discussed more fully below, control logic 210 stores processedportions of a data packet in context memory 224 when control logic 210reconfigures DACP 206 in connection with receiving a new data packetfrom a different channel.

[0032] Operation output memory 226 includes output from operationsperformed on the content (e.g., bits, bytes, words, etc.) of datapackets. According to one example implementation, each entry ofoperation output memory 226 comprises the output of an operation, suchas an XOR operation. As will be discussed more fully below,algorithm-based processing engine 230 retrieves from operation outputmemory 226 outputs associated with an algorithm for generating aprocessing parameter, in accordance with the configuration of DACP 206.

[0033] Example Data Structure(s)

[0034]FIG. 3 is a graphical illustration of one example embodiment ofconfiguration memory 222 in accordance with the teachings of anembodiment of the invention. In accordance with the illustrated exampleof FIG. 3, configuration memory 222 is depicted comprising a pluralityof entries 300, wherein each entry is associated with a type ofcommunication protocol, e.g., communication protocol type 1,communication protocol type 2, communication protocol type 3, throughcommunication protocol type N (where N denotes the number ofcommunication protocols supported by DACP 206, wherein suchcommunication protocols correspond to a plurality of types of networkarchitectures).

[0035] According to one example implementation, one of the entries 300represents POS, another represents ATM and another represents GFP. Inaccordance with the teachings of an embodiment of the invention, whenreceiving a data packet from a channel, control logic 210 retrieves froman entry 300 configuration information corresponding to thecommunication protocol associated with the channel supplying the datapacket. As will be developed more fully below, control logic 210 usesthe configuration information to reconfigure DACP 206 into acommunications processor of the type associated with the communicationprotocol.

[0036]FIG. 4 is a graphical illustration of one example embodiment ofcontext memory 224 in accordance with the teachings of an embodiment ofthe invention. In accordance with the illustrated example implementationof FIG. 4, context memory 224 is depicted comprising a plurality ofentries 400, wherein each entry is associated with a channel that uses aparticular communication protocol to transmit data packets. According toone example implementation, each of the entries 400 comprises previouslyprocessed portions of a data packet received from a channel.

[0037] As will be developed more fully below, when DACP 206 receives adata packet from a channel via I/O interface(s) 202 and I/O buffer(s)204, control logic 210 reads an entry 400 comprising previouslyprocessed portions of the data packet. When DACP 206 receives a new datapacket from a different channel, control logic 210 stores processedportions of the data packet in an entry 400 and retrieves context dataregarding the new data packet. Context data determines the point atwhich control logic 210 previously stopped processing the data packet,only a portion of which was processed during the processing time (e.g.,the amount of bandwidth) assigned to one or more channels providing theportions of the data packet.

[0038]FIG. 5 is a graphical illustration of one example embodiment ofoperation output memory 226 in accordance with the teachings of anembodiment of the invention. In accordance with the illustrated exampleimplementation of FIG. 5, operation output memory 226 is depictedcomprising a plurality of entries 500, wherein each entry is associatedwith an output from the execution of operations performed on the contentof a data packet being processed. According to one exampleimplementation, each of the entries 500 comprises outputs of XORoperations performed on the content of a data packet. As will bedeveloped more fully below, in connection with processing a data packet,algorithm-based processing engine 230 performs an operation on thecontent of the packet, stores the outputs in operation output memory 226and selects outputs in accordance with algorithms used to generateprocessing parameters in according with the configuration of DACP 206.

[0039] Example Operation and Implementation

[0040] Having introduced the operating environment and architecturalelements of the invention above, attention is now directed to FIG. 6 andFIG. 7, wherein an example implementation of a DACP is presented ingreater detail. For ease of illustration, and not limitation, themethods of FIG. 6 and FIG. 7 will be developed with continued referencesto FIGS. 1-5, as appropriate. Nonetheless, it is to be appreciate thatthe teachings of FIG. 6 and FIG. 7 may well be implemented in alternatenetwork architectures/configurations without deviating from the spiritand scope of the invention.

[0041]FIG. 6 and FIG. 7 are a flow chart illustrating one exampleembodiment of a method of a communications processor dynamicallyadapting to any of a plurality of different communication protocols, inaccordance with the teachings of an embodiment of the invention.

[0042] According to the illustrated example implementation of FIG. 6 andFIG. 7, at block 602 of the method 600, network device 102 receives adata packet from a channel via I/O interface(s) 202 and a receive bufferof I/O buffer(s) 204. At block 604, control logic 210 determines thecommunication protocol associated with the channel.

[0043] At block 606, control logic 210 retrieves configurationinformation corresponding to the communication protocol associated withthe channel. According to one example implementation, control logic 210retrieves configuration information from configuration memory 222. Atblock 608, control logic 210 utilizes the configuration information toconfigure DACP 206 to process data packets in accordance with thecommunication protocol associated with the channel from which the datapacket is received.

[0044] At block 610, control logic 210 reads context data correspondingto the previously processed portion of the data packet. According to oneexample implementation, control logic 210 reads context data fromcontext memory 224. Those skilled in the art will appreciate that if nopart of the data packet has been previously processed, control logic 210does not read context data in connection with processing the datapacket.

[0045] At block 612, control logic 210 processes the data packet inaccordance with the configuration of DACP 206. According to one exampleimplementation, control logic 210 processes the data packet by addingthe network addresses of a transmitting network element and of adestination network element, and by inserting idlers in the data packet.Those skilled in the art will appreciate that processing a data packetmay involve different, fewer or additional processing operations. In anexample embodiment, control logic 210 processes the data packet for aperiod corresponding to the amount of bandwidth assigned to the channelsupplying the data packet.

[0046] In accordance with one example embodiment, control logic 210invokes an instance of algorithm-based processing engine 230 inconnection with processing the data packet. Algorithm-based processingengine 230 generates a processing parameter based an algorithmassociated with the communication protocol for which DACP 206 isconfigured to process data packets. In one example implementation,algorithm-based processing engine 230 generates a processing parametercomprising a cyclic redundancy check (CRC). As is known in the art, aCRC determines whether a data packet contains errors. In another exampleimplementation, algorithm-based processing engine 230 generates aprocessing parameter comprising a scrambling parameter. As is known inthe art, a scrambling parameter provides density of transmission of adata packet. Those skilled in the art will appreciate that theprocessing parameter may comprise any of a plurality of parametersgenerated in connection with processing a packet.

[0047] In accordance with one aspect of an example embodiment,algorithm-based processing engine 230 performs operations on the contentof the data packet, e.g., an XOR operation. As is readily understood byone of ordinary skill in the art, algorithm-based processing engine 230may perform the operations on the content either in series or inparallel without deviating from the spirit and scope of embodiments ofthe invention. According to another aspect of the example embodiment,algorithm-based processing engine 230 stores the output resulting fromeach operation in operation output memory 226.

[0048] According to another aspect of the example embodiment,algorithm-based processing engine 230 retrieves selected outputs fromoperation output memory 226 in accordance with the algorithm associatedwith the processing parameter being generated and the communicationprotocol for which DACP 206 is configured to process data packets. Forexample, if algorithm-based processing engine 230 is generating a CRCwhen DACP 206 is configured to process data packets received from a POSchannel, the algorithm for generating the CRC is x⁴³+1. Having performedan XOR operation by passing the content of the data packet throughflip-flop gates and having stored the outputs, algorithm-basedprocessing engine 230 retrieves from operation output memory 226 theoutput of the 43^(rd) flip-flop gate in order to generate the CRC.Similarly, for example, if algorithm-based processing engine 230 isgenerating a CRC when DACP 206 is configured to process data packetsreceived from a GFP channel, the algorithm is x¹⁶+x¹²+x⁵+1. Accordingly,in order to generate the CRC, algorithm-based processing engine 230retrieves from operation output memory 226 the outputs of the 16^(th),12^(th) and 5^(th) flip-flop gates.

[0049] Continuing with method 600, at block 614, control logic 210transmits the processed data packet to a transmit buffer of I/O buffers204. At block 616, DACP 206 receives a new data packet from a differentchannel. At block 618, control logic 210 determines the communicationprotocol associated with the channel supplying the new data packet. Atblock 620, control logic 210 determines whether the communicationprotocol associated with channel supplying the new data packet is thesame as the communication protocol associated with the channel thatsupplied the most recently processed data packet.

[0050] If control logic 210 determines that the communication protocolassociated with the channel supplying the new data packet is the same asthe communication protocol associated with the channel that supplied themost recently processed data packet, method 600 continues in accordancewith blocks 610 through 620.

[0051] Conversely, if control logic 210 determines that thecommunication protocol associated with the channel supplying the newdata packet is different, at block 622, control logic 210 stores inconfiguration memory 222 configuration information associated with thechannel that supplied the most recently processed data packet. At block624, control logic 210 stores in context memory 224 any context datacorresponding to processed portions of the most recently processed datapacket. At block 626, control logic 210 retrieves configurationinformation corresponding to the communication protocol associated withthe channel supplying the new data packet. At block 628, method 600repeats blocks 608 through 620, as necessary.

[0052] Alternate Embodiment(s)

[0053]FIG. 8 is a block diagram of one example embodiment of a storagemedium comprising a plurality of executable instructions which, whenexecuted, cause an accessing machine to implement one or more aspects ofthe innovative dynamically adaptable communications processor mechanismof the invention. In this regard, storage medium 800 includes contentfor a communications processor implementing the dynamic adaptabilityfeatures of an embodiment of the invention, in accordance with analternate embodiment of the invention.

[0054] In the description above, for the purposes of explanation,numerous specific details are set forth in order to provide a thoroughunderstanding of embodiments of the invention. It will be apparent,however, to one skilled in the art that the embodiments of the inventionmay be practiced without some of these specific details. In otherinstances, well-known structures and devices are shown in block diagramform.

[0055]FIG. 6, FIG. 7 and FIG. 8 describe embodiments of the invention interms of methods. The methods of the embodiments of the invention may beperformed by hardware components, such as those shown in FIGS. 1-5, ormay be embodied in machine-executable instructions, which may be used tocause a general-purpose or special-purpose processor or logic circuitsprogrammed with the instructions to perform the steps. Alternatively,the methods may be performed by a combination of hardware and software.Moreover, although the invention has been described in the context of anetwork interface device, those skilled in the art will appreciate thatsuch functionality may well be embodied in any of number of alternateembodiments such as, for example, integrated within a computing device,and is readily adapted to wireless or wired implementations.

[0056] Embodiments of the invention may be provided as a computerprogram product which may include a machine-readable medium havingstored thereon instructions which may be used to program an electronicdevice (such as a personal computer) to perform a process according tothe embodiments of the invention. The machine-readable medium mayinclude, but is not limited to, floppy diskettes, optical disks,CD-ROMs, and magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, magnetor optical cards, flash memory, or other type of media/machine-readablemedium suitable for storing electronic instructions. Moreover, theembodiments of the invention may also be downloaded as a computerprogram product, wherein the program may be transferred from a remotecomputer to a requesting computer by way of data signals embodied in acarrier wave or other propagation medium via a communication link (e.g.,a modem or network connection).

[0057] In the foregoing specification, the invention has been describedwith reference to specific embodiments thereof. It will, however, beevident that various modifications and changes can be made theretowithout departing from the broader spirit and scope of the invention.The specification and drawings are, accordingly, are to be regarded inan illustrative rather than a restrictive sense. i.e., the particularembodiments are not provided to limit the invention but to illustrateit. The scope of the embodiments of the invention is not to bedetermined by the specific examples provided above but only by theclaims below.

What is claimed is:
 1. An apparatus, comprising: a memory elementincluding executable content; and a control element, coupled with thememory element, to selectively implement the executable content tomodify the apparatus to process data based, at least in part, on a typeof communication channel from which the data is received.
 2. Theapparatus of claim 1, wherein the control element dynamically accessesanother memory element to retrieve a channel state associated with thecommunication channel.
 3. The apparatus of claim 1, the apparatusperiodically responsive to any of a plurality of communication channels,each communication channel associated with a distinct communicationprotocol, wherein the control element saves state information associatedwith a currently selected communication channel, before accessing aconfiguration memory and a channel state associated with a subsequentlyselected communication channel.
 4. The apparatus of claim 1, wherein theexecutable content comprises configuration data corresponding to acommunication protocol associated with the type of the communicationchannel.
 5. The apparatus of claim 4, wherein the communication protocolcomprises one or more of a group comprising asynchronous transfer mode(ATM), packet-over-synchronous optical network (POS) and generic framingprocedure (GFP).
 6. The apparatus of claim 5, wherein the type ofcommunication channel comprises one of the group comprising an ATMchannel, (POS) channel, and a GFP channel.
 7. The apparatus of claim 1,wherein the control element comprises a communications processor.
 8. Theapparatus of claim 1, wherein the control element adjusts, based on thetype of channel, to selectively implement the executable content.
 9. Amethod comprising: receiving data from a type of communication channel;determining the type of communication channel; retrieving configurationinformation corresponding to the type of communication channel; becomingconfigured based, at least in part, on the configuration information;and processing the data in accordance with the type of communicationchannel.
 10. The method of claim 9, further comprising: receiving newdata from a different type of communication channel; determining thedifferent type of communication channel; retrieving differentconfiguration information corresponding to the different type ofcommunication channel; becoming configured based, at least in part, onthe different configuration information; and processing the new data inaccordance with the different type of communication channel.
 11. Themethod of claim 9, further comprising: accessing context data regardinga previously configured portion of the data; processing the dataaccording to the context data; and writing to storage new context databased, at least in part, on processing the data.
 12. The method of claim9, wherein processing the data further comprises generating a processingparameter.
 13. The method of claim 13, wherein generating the processingparameter comprises: performing an operation on content of the data;collecting the outputs resulting from the operation; and selecting oneor more of the outputs in accordance with an algorithm for generatingthe processing parameter, based at least in part, on the type ofcommunication channel.
 14. The method of claim 13, wherein theprocessing parameter comprises a cyclic redundancy check.
 15. The methodof claim 13, wherein the processing parameter comprises a scramblingparameter.
 16. The method of claim 13, wherein the operation comprisesan XOR operation.
 17. An article of manufacture comprising: amachine-accessible medium including thereon sequences of instructionsthat, when executed, cause an electronic system to: receive data from atype of communication channel; determine the type of communicationchannel; retrieve configuration information corresponding to the type ofcommunication channel; become configured based, at least in part, on theconfiguration information; and process the data in accordance with thetype of communication channel.
 18. The article of manufacture of claim17, wherein the machine-accessible medium further comprises sequences ofinstructions that, when executed, cause the electronic system to:receive new data from a different type of communication channel;determine the different type of communication channel; retrievedifferent configuration information corresponding to the different typeof communication channel; become configured based, at least in part, onthe different configuration information; and process the new data inaccordance with the different type of communication channel.
 19. Thearticle of manufacture of claim 17, wherein the machine-accessiblemedium further comprises sequences of instructions that, when executed,cause the electronic system to: access context data regarding apreviously configured portion of the data; process the data according tothe context data; and write to storage new context data based, at leastin part, on processing the data.
 20. The article of manufacture of claim17, wherein the sequences of instructions that, when executed, cause theelectronic system to process the data in accordance with the type ofcommunication channel comprise sequences of instructions that, whenexecuted, cause the electronic system to generate a processingparameter.
 21. The article of manufacture of claim 20, wherein thesequences of instructions that, when executed, cause the electronicsystem to generate a processing parameter comprise sequences ofinstructions that, when executed, cause the electronic system to:perform an operation on content of the data; collect the outputsresulting from the operation; and select one or more of the outputs inaccordance with an algorithm for generating the processing parameter,based at least in part, on the type of communication channel.
 22. Thearticle of manufacture of claim 21, wherein the sequences ofinstructions that, when executed, cause the electronic system to selectone or more of the outputs in accordance with the algorithm forgenerating the processing parameter, based at least in part, on the typeof communication channel comprise sequences of instructions that, whenexecuted, cause the electronic system to select one or more of theoutputs in accordance with the algorithm for generating a cyclicredundancy check, based at least in part, on the type of communicationchannel.
 23. A system comprising: a receive buffer to receive data froma communication channel; a communications processor, coupled with thereceive buffer, to determine a type of communication channel from whichthe receive buffer receives the data, retrieve configuration informationcorresponding to the type of communication channel, configure itselfbased on the configuration information, and process the data based atleast in part on the type of communication channel from which the datais received.
 24. The system of claim 23, wherein the type ofcommunication channel comprises one of the group comprising anasynchronous transfer mode (ATM) channel, a packet-over-synchronousoptical network (POS) channel, and a generic framing procedure (GFP)channel.
 25. The system of claim 23, wherein the communicationsprocessor generates a processing parameter based on the type ofcommunication channel, in connection with processing the data.
 26. Thesystem of claim 23, wherein the data comprises a data packet.
 27. Amethod comprising: iteratively receiving data from each of a pluralityof communication channels, each communication channel having anassociated communication protocol; and dynamically configuring acommunications processor to process the received data in accordance witha communication protocol of a selected communication channel.
 28. Themethod of claim 27, further comprising dynamically accessing a storageelement to retrieve a channel state associated with the selectedcommunication channel.
 29. The method of claim 28, further comprisingsaving state information associated with a currently selectedcommunication channel, before accessing the storage element and thechannel state associated with a subsequently selected communicationchannel.
 30. The method of claim 27, further comprising generating aprocessing parameter in accordance with an algorithm for generating theprocessing parameter, wherein such algorithm is associated with thecommunication protocol.